By dualizing constraint~\eqref{eq:lag-kp} in the Lagrangian way, we get

\begin{equation}
z\left(u\right) = \max \quad 10y_1 + 4y_2 + 14y_3 + u \left(4 - 3y_1 - y_2 - 4y_3\right)
\end{equation}

and the Lagrangian dual

\begin{equation}
w_{LD} = \min_{u \geq 0} z\left(u\right).
\end{equation}

Then we rearrange the equation to the form

\begin{equation}
z\left(u\right) = \max \quad y_1 \left(10 - 3u\right) + y_2 \left(4 - u\right) + y_3 \left(14 - 4u\right) + 4u.
\end{equation}

Since this is a maximization problem we set the $y_i$ values to $1$ iff the corresponding bracket term is greater $0$. This leads to a piecewise linear function with the indifferentiable points $\frac{10}{3}, 3.5 \ \mathrm{and} \ 4$. Since the slope of $z(u)$ for $u > 4$ is positive, we see that the function has a minimum and that the optimal Lagrange multiplier $u$ can only be at $0$ or at one of the indifferentiable points.

\begin{align}
z\left(0\right) &= 10 + 4 + 14 = 28 \\
z\left(\frac{10}{3}\right) &= 0 + \frac{2}{3} + \frac{2}{3} + \frac{40}{3} = \frac{40}{3} = 14.\dot{6} \\
z\left(3.5\right) &= 0 + 0.5 + 0 + 14 = 14.5 \\
z\left(4\right) &= 0 + 0 + 0 + 16 = 16
\end{align}

So the optimal value of the Lagrange multiplier $u$ is $3.5$ and the value of the Lagrangian dual $w_{LD}$ is $14.5$.

We implemented the subgradient algorithm in a short program which shows each step (source code is included in the file \emph{subgradient.cpp}). For the given input values the algorithm first reaches the optimal value $u = 3.5$ after three iterations and finally converges to the same value after 19 iterations.